// pages/login/login.js
const auth = require('../../utils/auth');
const app = getApp();

Page({
  data: {
    isLoading: false,
    errorMsg: ''
  },

  /**
   * 页面加载时触发
   */
  onLoad(options) {
    console.log('登录页加载，参数:', options);
    this.checkAlreadyLoggedIn();
  },

  /**
   * 检查是否已登录
   */
  checkAlreadyLoggedIn() {
    if (auth.checkLoginStatus()) {
      // 已登录，跳转到首页
      this.navigateToHome();
    }
  },

  /**
   * 微信登录
   */
  async wxLogin() {
    if (this.data.isLoading) {
      return;
    }
    
    this.setData({ 
      isLoading: true,
      errorMsg: ''
    });
    
    try {
      wx.showLoading({
        title: '登录中...',
        mask: true
      });

      const result = await app.doLogin('wechat');
      
      console.log('微信登录成功:', result);
      this.handleLoginSuccess();
    } catch (error) {
      console.error('微信登录失败:', error);
      this.setData({
        errorMsg: error.message || '微信登录失败，请重试'
      });
    } finally {
      wx.hideLoading();
      this.setData({ isLoading: false });
    }
  },

  /**
   * 处理登录成功
   */
  handleLoginSuccess() {
    wx.showToast({
      title: '登录成功',
      icon: 'success',
      duration: 1500
    });

    // 延迟跳转，让用户看到成功提示
    setTimeout(() => {
      this.navigateToHome();
    }, 1500);
  },

  /**
   * 跳转到首页
   */
  navigateToHome() {
    wx.switchTab({
      url: '/pages/index/index',
      fail: (error) => {
        console.error('跳转首页失败:', error);
        // 如果 switchTab 失败，尝试 reLaunch
        wx.reLaunch({
          url: '/pages/index/index'
        });
      }
    });
  },

  /**
   * 清除错误消息
   */
  clearError() {
    this.setData({ errorMsg: '' });
  },

  /**
   * 跳转到注册页面（可选功能，暂时保留）
   */
  goToRegister() {
    wx.showToast({
      title: '暂不支持注册，请使用微信登录',
      icon: 'none',
      duration: 2000
    });
  },

  /**
   * 跳转到用户协议
   */
  goToTerms() {
    wx.showModal({
      title: '用户协议',
      content: '这里将显示用户协议的内容...',
      showCancel: false,
      confirmText: '我知道了'
    });
  },

  /**
   * 跳转到隐私政策
   */
  goToPrivacy() {
    wx.showModal({
      title: '隐私政策',
      content: '这里将显示隐私政策的内容...',
      showCancel: false,
      confirmText: '我知道了'
    });
  }
});
